home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / misc / utilitys / dc-bias.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  6.1 KB  |  281 lines

  1. 1  'WRITTEN BY ROMAN ORZOL ------- k2uyh/wa2tif
  2. 2  '
  3. 3  'THIS PROGRAM WILL CALCULATE THE RESISTORS NEEDED TO BIAS TRANSISTORS
  4. 4  ' IN ALL OF THE 3 DIFFERENT ARRANGEMENTS. IT ALSO WILL GIVE YOU THE
  5. 5  ' OPTION OF SAVING AND/OR HARD COPY OF THESE VALUES.
  6. 6  '
  7. 7  '<UNK! {0009}>DC-BIAS OF TRANSISTOR CIRCUITS<UNK! {0009}><UNK! {0009}>DESIGN AND ANALYSIS
  8. 8  '
  9. 9  '
  10. 10  PRINT
  11. 20  PRINT"WHICH CONFIGURATION ?"
  12. 30  PRINT:PRINT"INPUT --  CB --- FOR COMMON BASE"
  13. 40  PRINT"          CE --- FOR COMMON EMITTER"
  14. 50  PRINT"          CC --- FOR COMMON COLLECTOR or EMITTER FOLLOWER"
  15. 60  PRINT:INPUT W$
  16. 70  IF W$="CB" THEN 1210
  17. 80  IF W$="CE" THEN 110
  18. 90  IF W$="CC" THEN 830
  19. 95  IF W$="END" THEN END
  20. 100  GOTO 10
  21. 110  PRINT"INPUT --  UN --- FOR UNSTABILIZED"
  22. 120  PRINT"          ES --- FOR EMITTER STABILIZED"
  23. 130  PRINT"          US --- FOR UNIVERSAL STABILIZED"
  24. 140  PRINT"          CF --- FOR COLLECTOR FEEDBACK"
  25. 150  PRINT:INPUT A$
  26. 160  IF A$="UN" THEN 210
  27. 170  IF A$="ES" THEN 230
  28. 180  IF A$="US" THEN 240
  29. 190  IF A$="CF" THEN 240
  30. 200  GOTO 110
  31. 210  G=0 : D=1
  32. 220  GOTO 240
  33. 230  D=1
  34. 240  PRINT"-- D -- FOR DESIGN or -- A -- FOR ANALYSIS"
  35. 250  PRINT:INPUT B$
  36. 260  IF B$="D" THEN 290
  37. 270  IF B$="A" THEN 560
  38. 280  GOTO 240
  39. 290  INPUT" Vcc ";CC
  40. 300  INPUT" Icq ";IC
  41. 310  INPUT" hFE ";BD
  42. 320  INPUT" Veb ";VD
  43. 330  IF A$="UN" THEN 370
  44. 340  INPUT"gamma ( .1 ) ";G
  45. 350  IF A$="ES" THEN 370
  46. 360  INPUT"delta ( 3 or 4 ) ";D
  47. 370  RC=CC/IC*(1-G)/2
  48. 380  IF A$="CF" THEN RC=RC*BD/(BD+D)
  49. 390  RE=G*CC/IC*BD/(BD+1)
  50. 400  R1=(CC*(1-G)-VD)*BD/(D*IC)
  51. 410  IF A$="CF" THEN R1=(CC*(1-G)-2*VD)/IC*BD/(2*D)
  52. 420  IF A$="UN" OR A$="ES" THEN 440
  53. 430  R2=BD*(G*CC+VD)/(IC*(D-1))
  54. 440  PRINT:PRINT"Rc =";RC
  55. 450  IF A$="UN" THEN 470
  56. 460  PRINT"Re =";RE
  57. 470  IF A$="UN" OR A$="ES" THEN PRINT"Rb =";R1: GOTO 510
  58. 480  IF A$="CF" THEN PRINT"Rf =";R1 : GOTO 500
  59. 490  PRINT"R1 =";R1
  60. 500  PRINT"R2 =";R2
  61. 510  PRINT
  62. 520  INPUT" SAVE THE VALUES ";S$
  63. 530  IF S$="Y" THEN GOSUB 1560
  64. 532  INPUT" Hard Copy ";P$
  65. 534  IF P$="Y" THEN GOSUB 10000 
  66. 540  INPUT" CARE FOR AN ANALYSIS ";C$
  67. 545  IF C$="Y" THEN B$="A"
  68. 550  IF C$="Y" THEN 660 ELSE GOTO 10
  69. 560  INPUT" Vcc ";CC
  70. 570  INPUT" Veb ";VD
  71. 580  INPUT" hFE ";BD
  72. 590  INPUT" Rc  ";RC
  73. 600  IF A$="UN" THEN 620
  74. 610  INPUT" Re  ";RE
  75. 620  IF A$="UN" OR A$="ES" THEN INPUT" Rb  ";R1: GOTO 660
  76. 630  IF A$="CF" THEN INPUT" Rf  ";R1: GOTO 650
  77. 640  INPUT" R1  ";R1
  78. 650  INPUT" R2  ";R2
  79. 660  PRINT:IF A$="UN" THEN IB=(CC-VD)/R1
  80. 670  IF A$="ES" THEN IB=(CC-VD)/(R1+RE*(BD+1))
  81. 680  IF A$="US" THEN IB=(CC-VD*(1+R1/R2))/(R1+(BD+1)*RE*(1+R1/R2))
  82. 690  IF A$="CF" THEN IB=(CC-VD*(1+(R1+RC)/R2))/(R1+(BD+1)*(RC+RE*(1+(R1+RC)/R2)))
  83. 700  IC=BD*IB
  84. 710  IE=(BD+1)*IB
  85. 720  VC=IC*RC
  86. 730  VE=IE*RE
  87. 740  VT=CC-VC-VE
  88. 750  PRINT"Ib  =";IB
  89. 760  PRINT"Ic  =";IC
  90. 770  PRINT"Ie  =";IE
  91. 780  PRINT"Vrc =";VC
  92. 790  IF A$="UN" THEN 802
  93. 800  PRINT"Vre =";VE
  94. 802  PRINT"Vec =";VT
  95. 805  PRINT
  96. 806  INPUT" SAVE THE VALUES ";S$
  97. 807  IF S$="Y" THEN GOSUB 1560
  98. 812  INPUT" Hard Copy ";P$
  99. 814  IF P$="Y" THEN GOSUB 10000
  100. 820  GOTO 10
  101. 830  PRINT"-- D -- FOR DESIGN or -- A -- FOR ANALYSIS"
  102. 840  PRINT:INPUT B$
  103. 850  IF B$="D" THEN 880
  104. 860  IF B$="A" THEN 1040
  105. 870  GOTO 830
  106. 880  INPUT" Vcc ";CC
  107. 890  INPUT" Icq ";IC
  108. 900  INPUT" hFE ";BD
  109. 910  INPUT" Veb ";VD
  110. 920  INPUT"delta ( 3 or 4 ) ";D
  111. 930  RE=CC/(2*IC)*BD/(BD+1)
  112. 940  R2=(CC+2*VD)/(2*IC)*BD/(D-1)
  113. 950  R1=(CC-2*VD)/(2*IC)*BD/D
  114. 960  PRINT:PRINT"Re =";RE
  115. 970  PRINT"R1 =";R1
  116. 980  PRINT"R2 =";R2
  117. 990  PRINT
  118. 1000  INPUT" SAVE THE VALUES ";S$
  119. 1010  IF S$="Y" THEN GOSUB 2000
  120. 1012  INPUT" Hard Copy ";P$
  121. 1014  IF P$="Y" THEN GOSUB 10000
  122. 1020  INPUT" CARE FOR AN ANALYSIS ";C$
  123. 1025  IF C$="Y" THEN B$="A"
  124. 1030  IF C$="Y" THEN 1100 ELSE GOTO 10
  125. 1040  INPUT" Vcc ";CC
  126. 1050  INPUT" Veb ";VD
  127. 1060  INPUT" hFE ";BD
  128. 1070  INPUT" Re  ";RE
  129. 1080  INPUT" R1  ";R1
  130. 1090  INPUT" R2  ";R2
  131. 1100  IB=(CC-VD*(1+R1/R2))/(R1+(BD+1)*RE*(1+R1/R2))
  132. 1110  IC=BD*IB
  133. 1120  IE=(BD+1)*IB
  134. 1130  VE=IE*RE
  135. 1140  VT=CC-VC-VE
  136. 1150  PRINT:PRINT"Ib  =";IB
  137. 1160  PRINT"Ic  =";IC
  138. 1170  PRINT"Ie  =";IE
  139. 1180  PRINT"Vre =";VE
  140. 1182  PRINT"Vec =";VT
  141. 1185  PRINT
  142. 1186  INPUT" SAVE THE VALUES ";S$
  143. 1187  IF S$="Y" THEN GOSUB 2000
  144. 1192  INPUT" Hard Copy ";P$
  145. 1194  IF P$="Y" THEN GOSUB 10000
  146. 1200  GOTO 10
  147. 1210  PRINT"-- D -- FOR DESIGN or -- A -- FOR ANALYSIS"
  148. 1220  PRINT:INPUT B$
  149. 1230  IF B$="D" THEN 1260
  150. 1240  IF B$="A" THEN 1400
  151. 1250  GOTO 1210
  152. 1260  INPUT" Vcc ";CC
  153. 1270  INPUT" Vee ";E1
  154. 1280  INPUT" Icq ";IC
  155. 1290  INPUT" hFE ";BD
  156. 1300  INPUT" Veb ";VD
  157. 1310  RC=CC/(2*IC)
  158. 1320  RE=(E1-VD)/IC*BD/(BD+1)
  159. 1330  PRINT:PRINT"Rc =";RC
  160. 1340  PRINT"Re =";RE
  161. 1350  PRINT
  162. 1360  INPUT" SAVE THE VALUES ";S$
  163. 1370  IF S$="Y" THEN GOSUB 2060
  164. 1372  INPUT" Hard Copy ";P$
  165. 1374  IF P$="Y" THEN GOSUB 10000
  166. 1380  INPUT" CARE FOR AN ANALYSIS ";C$
  167. 1385  IF C$="Y" THEN B$="A"
  168. 1390  IF C$="Y" THEN 1450 ELSE GOTO 10
  169. 1400  INPUT" Vcc ";CC
  170. 1410  INPUT" Vee ";E1
  171. 1420  INPUT" Veb ";VD
  172. 1430  INPUT" Rc  ";RC
  173. 1440  INPUT" Re  ";RE
  174. 1450  IC=CC/(2*RC)
  175. 1460  IE=(E1-VD)/RE
  176. 1470  IB=IE-IC
  177. 1480  VC=IC*RC
  178. 1490  VE=IE*RE
  179. 1500  PRINT:PRINT"Ib  =";IB
  180. 1510  PRINT"Ic  =";IC
  181. 1520  PRINT"Ie  =";IE
  182. 1530  PRINT"Vrc =";VC
  183. 1532  PRINT"Vre =";VE
  184. 1535  PRINT
  185. 1536  INPUT" SAVE THE VALUES ";S$
  186. 1537  IF S$="Y" THEN GOSUB 2060
  187. 1542  INPUT" Hard Copy ";P$
  188. 1544  IF P$="Y" THEN GOSUB 10000
  189. 1550  GOTO 10
  190. 1560  OPEN #1,"R","COMMON-E.DAT",100
  191. 1570  PRINT #1 @1,W$,A$,B$
  192. 1571  PRINT #1 @2," Vcc =",CC
  193. 1572  PRINT #1 @3," Icq =",IC
  194. 1573  PRINT #1 @4," Veb =",VD
  195. 1574  PRINT #1 @5," hFE =",BD
  196. 1575  PRINT #1 @6,"gamma =",G
  197. 1576  PRINT #1 @7,"delta =",D
  198. 1580  PRINT #1 @8,RC
  199. 1590  PRINT #1 @9,RE
  200. 1600  PRINT #1 @10,R1
  201. 1610  PRINT #1 @11,R2
  202. 1620  CLOSE #1
  203. 1630  RETURN
  204. 2000  OPEN #1,"R","COMMON-C.DAT",100
  205. 2002  PRINT #1 @1,W$,B$
  206. 2004  PRINT #1 @2," Vcc =",CC
  207. 2006  PRINT #1 @3," Icq =",IC
  208. 2008  PRINT #1 @4," Veb =",VD
  209. 2010  PRINT #1 @5," hFE =",BD
  210. 2014  PRINT #1 @6,"delta =",D
  211. 2018  PRINT #1 @7,RE
  212. 2020  PRINT #1 @8,R1
  213. 2022  PRINT #1 @9,R2
  214. 2040  CLOSE #1
  215. 2050  RETURN
  216. 2060  OPEN #1,"R","COMMON-B.DAT",100
  217. 2062  PRINT #1 @1,W$,B$
  218. 2064  PRINT #1 @2," Vcc =",CC
  219. 2065  PRINT #1 @3," Vee =",E1
  220. 2066  PRINT #1 @4," Icq =",IC
  221. 2068  PRINT #1 @5," Veb =",VD
  222. 2070  PRINT #1 @6," hFE =",BD
  223. 2074  PRINT #1 @7,RC
  224. 2076  PRINT #1 @8,RE
  225. 2090  CLOSE #1
  226. 2100  RETURN
  227. 10000  PRINT
  228. 10008  INPUT"HIT RETURN WHEN READY ";Q$
  229. 10010  FOR I=1 TO 10
  230. 10030  NEXT
  231. 10032  IF W$="CB" THEN WW$="COMMON BASE"
  232. 10034  IF W$="CE" THEN WW$="COMMON EMITTER ":GOTO 10040
  233. 10036  IF W$="CC" THEN WW$="COMMON COLLECTOR or EMITTER FOLLOWER"
  234. 10038  AA$=" ":GOTO 10080
  235. 10040  IF A$="UN" THEN AA$="UNSTABILIZED"
  236. 10050  IF A$="ES" THEN AA$="EMITTER STABILIZED"
  237. 10060  IF A$="US" THEN AA$="UNIVERSAL STABILIZED"
  238. 10070  IF A$="CF" THEN AA$="COLLECTOR FEEDBACK"
  239. 10080  IF B$="D"  THEN 10100
  240. 10090  IF B$="A"  THEN 10290
  241. 10100  LPRINT,"DC DESIGN Results for a ";WW$;"[ ";AA$;" ]";" Amplifier ."
  242. 10110  LPRINT:LPRINT
  243. 10120  LPRINT," Vcc =";CC," Icq =";IC," Veb =";VD," hFE =";BD
  244. 10130  IF A$="UN" THEN 10170
  245. 10140  LPRINT,"gamma =";G
  246. 10150  IF A$="ES" THEN 10170
  247. 10160  LPRINT,"delta =";D
  248. 10170  LPRINT:LPRINT
  249. 10180  LPRINT," Rc =";RC
  250. 10190  IF A$="UN" THEN 10210
  251. 10200  LPRINT," Re =";RE
  252. 10210  IF A$="UN" OR A$="ES" THEN LPRINT," Rb =";R1:GOTO 10280
  253. 10220  IF A$="CF" THEN LPRINT," Rf =";R1:GOTO 10240
  254. 10230  LPRINT," R1 =";R1
  255. 10240  LPRINT," R2 =";R2
  256. 10280  RETURN
  257. 10290  LPRINT,"DC ANALYSIS Results for a ";WW$;"[ ";AA$;" ]";" Amplifier ."
  258. 10300  LPRINT:LPRINT
  259. 10310  LPRINT," Vcc =";CC," Icq =";IC," Veb =";VD," hFE =";BD
  260. 10320  IF A$="UN" THEN 10360
  261. 10330  LPRINT,"gamma =";G
  262. 10340  IF A$="ES" THEN 10360
  263. 10350  LPRINT,"delta =";D
  264. 10360  LPRINT
  265. 10370  LPRINT," Rc =";RC,
  266. 10380  IF A$="UN" THEN 10400
  267. 10390  LPRINT," Re =";RE,
  268. 10400  IF A$="UN" OR A$="ES" THEN LPRINT," Rb =";R1:GOTO 10440
  269. 10410  IF A$="CF" THEN LPRINT," Rf =";R1,:GOTO 10430
  270. 10420  LPRINT," R1 =";R1,
  271. 10430  LPRINT," R2 =";R2
  272. 10440  LPRINT:LPRINT
  273. 10450  LPRINT,"Ib  =";IB
  274. 10460  LPRINT,"Ic  =";IC
  275. 10470  LPRINT,"Ie  =";IE
  276. 10480  LPRINT,"Vrc =";VC
  277. 10490  IF A$="UN" THEN 10510
  278. 10500  LPRINT,"Vre =";VE
  279. 10510  LPRINT,"Vec =";VT
  280. 10520  RETURN
  281.